package com.siwei.apply.service;

import com.siwei.apply.domain.NodeAttachment;

import java.util.Map;

/**
 * 记录流程对应的附件材料 服务接口
 */
public interface NodeAttachmentService {
    
    /**
     * 根据ID查询附件信息
     *
     * @param id 附件ID
     * @return NodeAttachment
     */
    NodeAttachment getById(String id);

    /**
     * 根据节点ID查询附件信息
     *
     * @param nodeId 节点ID
     * @return NodeAttachment
     */
    NodeAttachment getByNodeId(String nodeId);
    
    /**
     * 处理文件并保存附件信息
     *
     * @param filePath 文件路径
     * @return 数据库存储后的id
     */
    String processFileAndSave(String filePath);
    
    /**
     * 删除节点附件信息
     *
     * @param nodeId 节点ID
     */
    void deleteByNodeId(String nodeId);

    /**
     * 更新附件记录的nodeId
     *
     * @param nodeAttachmentId 附件记录ID
     * @param nodeId 节点ID
     * @return 是否更新成功
     */
    boolean updateNodeId(String nodeAttachmentId, String nodeId);
}
